package org.tgcloud.group.repository;

import org.apache.ibatis.annotations.Param;
import org.tgcloud.group.entity.MjBusinessTimePrice;
import org.tgcloud.group.web.controller.dto.user.BusinessMonthBasicSalaryGoodsValueListDTO;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

public interface MjBusinessTimePriceMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(MjBusinessTimePrice record);

    int insertSelective(MjBusinessTimePrice record);

    MjBusinessTimePrice selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(MjBusinessTimePrice record);

    int updateByPrimaryKey(MjBusinessTimePrice record);

    MjBusinessTimePrice selectTaskMsgByBusinessIdAndTime(@Param("businessId") Integer businessId, @Param("date") Date date);

    MjBusinessTimePrice selectMsgByBusinessIdAndTime(@Param("businessId") Integer businessId, @Param("date") Date time);
    BigDecimal selectYearPerForMance(@Param("businessId") Integer businessId, @Param("time") Date time);

    List<MjBusinessTimePrice> selectMsgByBusinessIdAndQuarterTime(@Param("businessId") Integer businessId, @Param("startTime") Date quarterStartTime, @Param("endTime") Date quarterEndTime);
    List<MjBusinessTimePrice> selectPerformanceList(@Param("businessId") Integer businessId);

    int updatePerformanceGoodsPriceByBusinessId(@Param("businessId") int businessId, @Param("departTime") Date departTime);

    List<BusinessMonthBasicSalaryGoodsValueListDTO> selectMonthListByBusinessIdAndTime(@Param("businessId") Integer id,
                                                                                       @Param("chooseShowStartMonth") Date chooseShowStartMonth,
                                                                                       @Param("chooseShowEndMonth") Date chooseShowEndMonth);
}
